iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
1
Software Development

PHP新手30天實戰金流系列 第 21

[Day21]平台串金流--PAYPAL 買家付款模式(payment)

  • 分享至 

  • xImage
  •  

前言

paypal 付款方式有 order 跟 payment 兩種,差異如下:

  1. order: 只支援 PayPal 的會員。可以延後付款,並且視乎貨物的狀態做部分的請款
  2. payment: 可以延後付款,但不可以分批請款。
    本篇介紹 payment 方法的使用

Control flow 1(建立金流單->授權商家取款)

  1. build a payment, get the payment id, return user approval url
  2. approve the payment, redirect to return url
  3. execute payment by the payment_id, get the authorization id

Control flow 2(商家取款)

  1. capture the payment by authorization id, get the capture id

注意事項:

  • payment 方式有一個變數 intent 必須設定。
    "Payment intent; Must be set to sale for immediate payment or authorize for a delayed payment to be captured at a later time. Required."
    • 其值有三,分別為 即時付款(sale), 延遲(authorize) 和訂單。 訂單好像是使用 order API,就等同用 order 方式付款。

ps

可以增加 即時付款通知 (PayPal IPN) 方式結帳付款
可參考 Ray 大的文章
https://tn710617.github.io/zh-tw/submitMultipleItemsInPayPalIPNmethod/

PayPal提供附加變量,用於自定義您的Form Post。所有可用變量如下(變量名稱必須用小寫):

了解基本參數的意義
可用變量
名稱 值
business 您的PayPal賬戶上的電子郵件地址
quantity 物品數量。大於1 時,會與金額相乘
item_name 物品名稱(或購物車名稱)。必須是字母數字字符,最多為127 個字符
item_number 用於跟踪付款的可選傳遞變量。必須是字母數字字符,最多為127 個字符
amount 物品的價格(購物車中所有物品的總價格)
shipping 該物品的運送成本
shipping2 每增加一件物品所需的運送成本
handling 手續費
tax 基於交易的稅額。如果使用該變量,傳遞值將覆蓋所有用戶信息稅收設置(不管買家所在位置)。
no_shipping 送貨地址。如果設為”1”,則不會要求您的客戶提供送貨地址。該變量為可選項;如果省略或設為”0”,將提示您的客戶輸入送貨地址
cn 可選標籤,會在提示欄上顯示(最多40 個字符)
no_note 為付款加入提示。如果設為”1”,則不會提示您的客戶輸入提示。該變量為可選項;如果省略或設為”0”,將提示您的客戶輸入提示。
on0 第一選項欄名稱。最多64 個字符
os0 第一組選項值。最多200 個字符。”on0” 必須定義,以便識別”os0”。
on1 第二選項欄名稱。最多64 個字符
os1 第二組選項值。最多200 個字符。”on1” 必須定義,以便識別”os1”。
custom 決不會向您的客戶顯示的可選轉遞變量。可用於跟踪庫存
invoice 決不會向您的客戶顯示的可選轉遞變量。可用於跟踪賬單號
notify_url 僅與IPN 一起使用。發送IPN Form Post 的互聯網URL
return 您的客戶完成付款後將返回的互聯網URL
cancel_return 您的客戶取消付款後將返回的互聯網URL
image_url 您要用作圖標的圖片的互聯網URL,圖片大小為150 X 50 像素
cs 設置您的付款頁面的背景色。如果設為”1”,背景色將為黑色。該變量為可選項;如果省略或設為”0”,背景色將為白色


上一篇
[Day20]平台串金流--PAYPAL 導入平台,架構重整
下一篇
[Day22]平台串金流--PAYPAL Q&A
系列文
PHP新手30天實戰金流34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言